home *** CD-ROM | disk | FTP | other *** search
/ A.C.E. 2 / ACE CD 2.iso / FILES / UTILS / AMOS3.DMS / AMOS3.adf / Shoot_em_up.AMOS / Shoot_em_up.amosSourceCode < prev    next >
AMOS Source Code  |  1978-10-10  |  5KB  |  124 lines

  1. ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2. '
  3. '                        Blast Those Alien Scum Bags 
  4. '
  5. '                               By P.J.Hickman 
  6. '
  7. '    A simple scrolly shoot-em-up with over 200 colours on screen!!! 
  8. '
  9. ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  10. Default 
  11. Screen Close 0
  12. Close Editor 
  13. ' ~~~~~ Variable definations ~~~~~ 
  14. SHIP$=" Let X=150 ; Let Y=100 ; Jump Setanim ;"
  15. SHIP$=SHIP$+" Begin:     Let R0=Joy1 ; If BC(15,6,9) Jump Explode  ;"
  16. SHIP$=SHIP$+"            If X<10 Jump V     ;"
  17. SHIP$=SHIP$+"            If X>290 Jump Q     ;"
  18. SHIP$=SHIP$+"            If Y>160 Jump N     ;"
  19. SHIP$=SHIP$+"            If Y<10  Jump K     ;"
  20. SHIP$=SHIP$+" Checkfire: If R0&16 Jump Fire  ;"
  21. SHIP$=SHIP$+" Movement:  If R0&1  Jump Up    ;"
  22. SHIP$=SHIP$+"            If R0&2  Jump Down  ;"
  23. SHIP$=SHIP$+"            If R0&4  Jump Left  ;"
  24. SHIP$=SHIP$+"            If R0&8  Jump Right ;"
  25. SHIP$=SHIP$+" Jump Begin          ;"
  26. SHIP$=SHIP$+" Up:   Anim 0,(3,1)  ; Move 0,-10,1  ; Jump Setanim   ;"
  27. SHIP$=SHIP$+" Down: Anim 0,(5,1)  ; Move 0,10,1   ; Jump Setanim   ;"
  28. SHIP$=SHIP$+" Right:              ; Move 10,0,1   ; Jump Begin     ;"
  29. SHIP$=SHIP$+" Left:               ; Move -10,0,1  ; Jump Begin     ;"
  30. SHIP$=SHIP$+" Setanim: Anim 0,(1,10)(2,10)        ; Jump Begin     ;"
  31. SHIP$=SHIP$+" Fire: Let RA=1                      ; Jump Movement  ;"
  32. SHIP$=SHIP$+" V:    Let X=10                      ; Jump Checkfire ;"
  33. SHIP$=SHIP$+" Q:    Let X=290                     ; Jump Checkfire ;"
  34. SHIP$=SHIP$+" N:    Let Y=160                     ; Jump Checkfire ;"
  35. SHIP$=SHIP$+" K:    Let Y=10                      ; Jump Checkfire ;"
  36. SHIP$=SHIP$+"Explode: Let RZ=1 ; Anim 1,(8,1)(9,1)(10,1)(11,1)(12,1)(13,1)(14,1)(15,1)(16,1) ; P P P P P P P P P P P ; Let RX=1 ;"
  37. '
  38. '
  39. Dim F1RE$(4),ALIEN$(4)
  40. For LOP=1 To 4
  41.    ALIEN$(LOP)="Begin: Anim 0,(17,3)(18,3)(21,3)(22,3)(23,3)(24,3)(25,3)(26,3)(27,3) ; Let X=321 ;"
  42.    ALIEN$(LOP)=ALIEN$(LOP)+"For R0=1 To 36 ; Let X=X-10 ; If BC("+Str$(5+LOP)+",1,4) Jump Explode ; Next R0 ; Jump Finish ;"
  43.    ALIEN$(LOP)=ALIEN$(LOP)+"Explode: Let RZ=1 ; Anim 1,(8,1)(9,1)(10,1)(11,1)(12,1)(13,1)(14,1)(15,1)(16,1) ; P P P P P P P P P P ;"
  44.    ALIEN$(LOP)=ALIEN$(LOP)+"Finish: Let Y=-200 ; Let X=-200 ; Anim 1,(17,1) ;"
  45.    F1RE$(LOP)="Let R"+Chr$(65+LOP)+"=1 ; Let R1=320-X ; Let R2=R1/18 ; For R0=1 To R2 ; Let X=X+18 ; If BC("+Str$(LOP)+",4,14) Jump Killed ; Next R0 ;"
  46.    F1RE$(LOP)=F1RE$(LOP)+"Killed: Let R"+Chr$(65+LOP)+"=2 ;"
  47. Next LOP
  48. ' ~~~~~ This variable controls the scroll speed, 1-16 ~~~~~
  49. SCRSPEED=16 : LAUNCHED=1
  50. '
  51. '  Set up screens and AMAL channels
  52. Unpack 15 To 1
  53. Set Rainbow 1,0,200,"","",""
  54. For LOP=0 To 199
  55.    Rain(1,LOP)=LOP+2830
  56. Next LOP
  57. Rainbow 1,0,50,200
  58. Hide On 
  59. Get Sprite Palette 
  60. Double Buffer 
  61. Autoback 0
  62. Synchro Off : Update Off 
  63. For LOP=1 To 15
  64.    Channel LOP To Bob LOP
  65. Next LOP
  66. Rem ---------------------------------------------------------------------
  67. Rem                Load Landscape Picture And Bobs 
  68. Rem ---------------------------------------------------------------------
  69. Screen Copy Logic(1),0,130,SCRSPEED,200 To Logic(1),336,130
  70. Screen Copy Logic(1),SCRSPEED,130,336+SCRSPEED,200 To Logic(1),0,130
  71. Screen Swap 
  72. Bob 15,0,0,1
  73. Amal 15,SHIP$
  74. Amal On 15
  75. Timer=0
  76. Make Mask 
  77. Repeat 
  78.    Bob Clear 
  79.    ' ~~~~~ Scroll routine ~~~~~ 
  80.    For LOP=1 To 2
  81.       Screen Copy Logic(1),0,130,SCRSPEED,200 To Logic(1),336,130
  82.       Screen Copy Logic(1),SCRSPEED,130,336+SCRSPEED,200 To Logic(1),0,130
  83.    Next LOP
  84.    ' ~~~~~~ main loop ~~~~~ 
  85.    ' ~~~~~ Alien Control ~~~~~
  86.    For LOP=6 To 9
  87.       If Chanmv(LOP)<>-1 and Chanan(LOP)<>-1 and Timer>8
  88.          Bob LOP,321,Rnd(100)+4,17
  89.          Amal LOP,ALIEN$(LOP-5)
  90.          Amal On LOP
  91.          Timer=0
  92.       End If 
  93.    Next LOP
  94.    ' ~~~~~ Bang ~~~~~ 
  95.    If Amreg(25)=1
  96.       Sam Raw 8,Start(7),13086,4000
  97.       Amreg(25)=0
  98.    End If 
  99.    ' ~~~~~ Fire Power ~~~~~ 
  100.    If Amreg(0)=1 and Chanmv(LAUNCHED)<>-1 and Timer>4
  101.       Bob LAUNCHED,X Bob(15)+18,Y Bob(15)+6,7
  102.       Amal LAUNCHED,F1RE$(LAUNCHED)
  103.       Amal On LAUNCHED
  104.       Add LAUNCHED,1,1 To 4
  105.       Amreg(0)=0
  106.       Timer=0
  107.       If LAUNCHED<3
  108.          Sam Raw 1,Start(6),5400,10000
  109.       Else 
  110.          Sam Raw 2,Start(6),5400,10000
  111.       End If 
  112.    End If 
  113.    For LOP=1 To 4
  114.       If Amreg(LOP)=2
  115.          Amal Off LOP
  116.          Bob Off LOP
  117.          Amreg(LOP)=0
  118.       End If 
  119.    Next LOP
  120.    Synchro : Bob Draw 
  121.    Screen Swap : Wait Vbl 
  122. Until Amreg(23)=1
  123. Bob Off 15 : Update : Wait 20 : Fade 4 : Wait 55 : Screen Close 1 : Rainbow Del 1
  124. End